package cn.tedu.store.admin.webapi.mapper;

import cn.tedu.store.commons.pojo.admin.entity.RolePermission;
import cn.tedu.store.commons.pojo.admin.vo.RolePermissionListItemVO;
import cn.tedu.store.commons.pojo.admin.vo.RolePermissionStandardVO;
import org.springframework.stereotype.Repository;

import java.util.List;

@Repository
public interface RolePermissionMapper {
    /**
     * 添加角色与权限关联信息
     *
     * @param RolePermission 角色与权限关联信息
     * @return 受影响行数
     */
    int insert(RolePermission RolePermission);

    /**
     * 根据id删除信息
     *
     * @param id id
     * @return 受影响的行数
     */
    int deleteById(Long id);

    /**
     * 修改角色与权限关联信息
     *
     * @param RolePermission 角色与权限关联信息
     * @return 受影响的行数
     */
    int updateById(RolePermission RolePermission);

    /**
     * 根据id查询角色与权限关联信息
     * @param id id
     * @return 受影响的行数
     */
    int countById(Long id);

    /**
     * 根据id查询角色与权限关联信息
     * @param roleId 角色id
     * @param permissionId 权限id
     * @return 受影响的行数
     */
    int countByRoleIdPermission(Long roleId, Long permissionId);

    /**
     * 根据id查询详情
     *
     * @param id id
     * @return 受影响的行数
     */
    RolePermissionStandardVO getStandardById(Long id);

    /**
     * 查询所有角色与权限信息
     *
     * @return 所有角色与权限详情
     */
    List<RolePermissionListItemVO> list();
}
